package com.ttl.bc.ap.invoice.bean;

import java.util.Date;
import java.util.Set;

public class BCAPInvoiceBean {
		/*############  Table: BCAPInvoice ###########*/
//	Attribute Name						Description					Data Type	Length	PK	AK	FK	References
//	ใช้ docNo ในการทำ Hibernate mapping แล้ว	
//	private	Integer	rowOrder;		//	เป็นเลข Running ของ Table		Integer					Y		
	private	String	docNo;			//	เลขที่เอกสาร						varchar		20		Y			
	private	String	taxNo;			//	เลบที่ใบกำกับภาษี					varchar		20				
	private	Date	docDate;		//	วันที่เอกสาร						Date					
	private	Integer	taxType;		//	ประเภทภาษี (0=แยกนอก,1=รวมใน )		Smallint					
	private	String	apCode;			//	รหัสเจ้าหนี้						varchar		20				Y	BCAP
	private	String	departCode;		//	รหัสแผนก						varchar		10				Y	BCDepartment
	private	Integer	creditDay;		//	เครดิตเทอม						Smallint					
	private	Date	dueDate;		//	วันถึงกำหนดชำระ					Date					
	private	Date	statementDate;	//	ลงวันที่จะวางบิล					Date					
	private	Integer	statementState;	//	0= ยังไม่วางบิล 1= วางบิลอยู่			Smallint					
	private	Double	taxRate;		//	อัตราภาษี						Double					
	private	Integer	isConfirm;		//	 ตรวจสอบเอกสาร 0=ยังไม่ตรวจ 1=ตรวจแล้ว	Smallint					
	private	String	myDescription;	//	หมายเหตุบิล						varchar		255				
	private	Integer	billType;		//	ประเภทรายวัน 0=ซื้อสด 1=ซื้อเชื่อ	 	Smallint					
									//	2=ซื้อบริการสด 3=ซื้อบริการเชื่อ						
	private	String	billGroup;		//	กลุ่มของบิล						varchar		10				
	private	String	contactCode;	//	รหัสผู้ติดต่อ ดึงเริ่มต้นจาก AP			varchar		10				Y	BCContactList
	private	Double	sumOfItemAmount;//	จำนวนเงิน (= ยอดรวมของรายการย่อย)		Double					
	private	String	discountWord;	//	ส่วนลดการค้า ตามที่ Key เป็น %		 	varchar		35				
									//	หรือจำนวนเงิน						
	private	Double	discountAmount;	//	ส่วนลดที่เป็นจำนวนเงิน				Double					
	private	Double	afterDiscount;	//	ยอดเงินหลังส่วนสดสำหรับคำนวนภาษี	 	Double					
									//	ยอดเงินหลังส่วนสดสำหรับคำนวนภาษี 						
	private	Double	beforeTaxAmount;//	ยอดเงินสุทธิ 						Double					
									//	(ถอดภาษีแล้ว ในกรณีที่เป็นบิลรวมใน)						
	private	Double	taxAmount;		//	ยอดภาษีมูลค่าอัตราเพิ่ม				Double					
	private	Double	totalAmount;	//	ยอดรวมภาษี						Double					
	private	Integer	discountCase;	//	0=ลดจากยอด Tax					Smallint
									//	1=ลดจากยอด NoneTax					
									//	2=ลดจากทั้ง 2 ยอด						
	private	Double	exceptTaxAmount;//	ยอดยกเว้นภาษี					Double					
	private	Double	zeroTaxAmount;	//	ยอดภาษี 0						Double					
	private	Double	pettyCashAmount;//	ยอดเงินสดย่อยจ่าย					Double					
	private	Double	sumCashAmount;	//	ยอดเงินสดจ่าย					Double					
	private	Double	sumChqAmount;	//	ยอดเช็คจ่าย						Double					
	private	Double	sumBankAmount;	//	ยอดเงินโอน						Double					
	private	Integer	depositIncTax;	//	เงินมัดจำ 1 = มีภาษี 0= ไม่มี Tax		SMALLINT					
	private	Double	sumOfDeposit1;	//	สำหรับตัดยอดของบิล				Double					
	private	Double	sumOfDeposit2;	//	สำหรับ post GL 				Double					
		 							//	แต่ต้องถอด vat ถ้าเป็นรวมใน						
	private	Double	sumOfWTax;		//	ยอดภาษีหัก ณ ที่จ่าย					Double					
	private	Double	netDebtAmount;	//	ยอดเงินสุทธิของบิล(ยอดตั้งหนี้) หักเงินมัดจำ	Double					
	 								//	ภาษีหัก ณ ที่จ่าย ค่าใช้จ่าย
	private	Double	homeAmount;		//	เพิ่มใน BC 5.5
	private	Double	otherIncome;	//	รายได้อื่นๆ เพื่อให้ลงบัญชีได้			Double					
	private	Double	otherExpense;	//	ค่าใช้จ่ายอื่นๆ						Double					
	private	Double	excessAmount1;	//	เงินเกินใบเสร็จรับ					Double					
	private	Double	excessAmount2;	//	ยอดเงินเกินที่พัดไว้นำมาหักในใบเสร็จ		Double					
	private	Double	billBalance;	//	ยอดคงเหลือของบิล					Double					
									//	(ถูกตัดทุกครั้งเมื่อรับชำระหนี้)						
	private	String	currencyCode;	//	รหัสสกุลเงิน						varchar		10				Y	BCCurrency
	private	Double	exchangeRate;	//	อัตราแลกเปลี่ยนเงินตรา				Double					
	private	String	glFormat;		//	รูปแบบการเชื่อม GL					varchar		5				Y	BCGLFormat
	private	Integer	glStartPosting;	//	เพิ่มใน BC 5.5					SMALLINT
	private	Integer	grBillStatus;	//	0=ปกติ 1=ตัดหมดแล้ว				SMALLINT					
	private	Integer	grIRBillStatus;	//	0=ปกติ 1=เป็นใบ GR อย่างเดียว 			SMALLINT					
									//	CHM 2=IR						
	private	Integer	isPostGL;		//	0= ยังไม่ผ่านรายการ 1=ผ่านรายการแล้ว		Smallint					
	private	Integer	isCancel;		//	0= ยังไม่ยกเลิก 1= ยกเลิก			Smallint					
	private	Integer	isCreditNote;	//	0= ยังไม่ลดหนี้ 1= ลดหนี้แล้ว			Smallint					
	private	Integer	isDebitNote;	//	0= ยังไม่เพิ่มหนี้ 1= เพิ่มหนี้แล้ว			Smallint					
	private	Integer	isProcessOK;	//	0= ไม่สำเร็จ 1= สำเร็จ				Smallint					
	private	Integer	isCompleteSave;	//	0 = ไม่สมบูรณ์ 1 = สมบูรณ์			Smallint					
	private	Integer	glTransData;	//	0= auto 1= manual			Smallint					
	private	String	allocateCode;	//	รหัสการจัดสรร					varchar		10				Y	BCAllocate
	private	String	projectCode;	//	รหัสโครงการ						varchar		10				Y	BCProject
	private	String	recurName;		//	บันทึกเป็น Recur					varchar		40				
	private	Double	exchangeProfit;	//	กำไรขาดทุนจากอัตราแลกเปลี่ยน			Double					
	private	String	creatorCode;	//	รหัสผู้บันทึกครั้งแรก					varchar		10				
	private	Date	createDateTime;	//	วันและเวลาที่บันทึกครั้งแรก				Date					
	private	String	lastEditorCode;	//	รหัสผู้แก้ไขล่าสุด					varchar		10				
	private	Date	lastEditDateT;	//	วันและเวลาที่แก้ไขล่าสุด				Date					
	private	String	confirmCode;	//	รหัสผู้ Confirm					varchar		10				
	private	Date	confirmDateTime;//	วันและเวลาที่ Confirm				Date					
	private	String	cancelCode;		//	รหัสผู้ Cancel					varchar		10				
	private	Date	cancelDateTime;	//	วันและเวลาที่ Cancel				Date					

	private	Double	prepayAmount;	//	เพิ่มใน BC 5.5
	private	Double	payBillAmount;	//	เพิ่มใน BC 5.5
	private	String	remark1;		//	เพิ่มใน BC 5.5
	private	String	remark2;		//	เพิ่มใน BC 5.5
	private	String	remark3;		//	เพิ่มใน BC 5.5
	private	String	remark4;		//	เพิ่มใน BC 5.5
	private	String	remark5;		//	เพิ่มใน BC 5.5
	private	String	ittl_payment;	//	เพิ่มสำหรับของแผนกจัดซื้อ ttl ไว้เก็บค่า -: วิธีการชำระเงิน
	
	//query
	private	Integer	hasInBCtrans;

	private	Integer	printCount;
	
	@SuppressWarnings("unchecked")
	private Set		bcAPInvoiceSubs;

	
	
	
	public Integer getHasInBCtrans() {
		return hasInBCtrans;
	}

	public void setHasInBCtrans(Integer hasInBCtrans) {
		this.hasInBCtrans = hasInBCtrans;
	}

	public Integer getPrintCount() {
		return printCount;
	}

	public void setPrintCount(Integer printCount) {
		this.printCount = printCount;
	}

	public String getRemark1() {
		return remark1;
	}

	public void setRemark1(String remark1) {
		this.remark1 = remark1;
	}

	public String getRemark2() {
		return remark2;
	}

	public void setRemark2(String remark2) {
		this.remark2 = remark2;
	}

	public String getRemark3() {
		return remark3;
	}

	public void setRemark3(String remark3) {
		this.remark3 = remark3;
	}

	public String getRemark4() {
		return remark4;
	}

	public void setRemark4(String remark4) {
		this.remark4 = remark4;
	}

	public String getRemark5() {
		return remark5;
	}

	public void setRemark5(String remark5) {
		this.remark5 = remark5;
	}

	public String getIttl_payment() {
		return ittl_payment;
	}

	public void setIttl_payment(String ittlPayment) {
		ittl_payment = ittlPayment;
	}

	public Double getPayBillAmount() {
		return payBillAmount;
	}

	public void setPayBillAmount(Double payBillAmount) {
		this.payBillAmount = payBillAmount;
	}

	public Double getPrepayAmount() {
		return prepayAmount;
	}

	public void setPrepayAmount(Double prepayAmount) {
		this.prepayAmount = prepayAmount;
	}

	public String getDocNo() {
		return docNo;
	}

	public void setDocNo(String docNo) {
		this.docNo = docNo;
	}

	public String getTaxNo() {
		return taxNo;
	}

	public void setTaxNo(String taxNo) {
		this.taxNo = taxNo;
	}

	public Date getDocDate() {
		return docDate;
	}

	public void setDocDate(Date docDate) {
		this.docDate = docDate;
	}

	public Integer getTaxType() {
		return taxType;
	}

	public void setTaxType(Integer taxType) {
		this.taxType = taxType;
	}

	public String getApCode() {
		return apCode;
	}

	public void setApCode(String apCode) {
		this.apCode = apCode;
	}

	public String getDepartCode() {
		return departCode;
	}

	public void setDepartCode(String departCode) {
		this.departCode = departCode;
	}

	public Integer getCreditDay() {
		return creditDay;
	}

	public void setCreditDay(Integer creditDay) {
		this.creditDay = creditDay;
	}

	public Date getDueDate() {
		return dueDate;
	}

	public void setDueDate(Date dueDate) {
		this.dueDate = dueDate;
	}

	public Date getStatementDate() {
		return statementDate;
	}

	public void setStatementDate(Date statementDate) {
		this.statementDate = statementDate;
	}

	public Integer getStatementState() {
		return statementState;
	}

	public void setStatementState(Integer statementState) {
		this.statementState = statementState;
	}

	public Double getTaxRate() {
		return taxRate;
	}

	public void setTaxRate(Double taxRate) {
		this.taxRate = taxRate;
	}

	public Integer getIsConfirm() {
		return isConfirm;
	}

	public void setIsConfirm(Integer isConfirm) {
		this.isConfirm = isConfirm;
	}

	public String getMyDescription() {
		return myDescription;
	}

	public void setMyDescription(String myDescription) {
		this.myDescription = myDescription;
	}

	public Integer getBillType() {
		return billType;
	}

	public void setBillType(Integer billType) {
		this.billType = billType;
	}

	public String getBillGroup() {
		return billGroup;
	}

	public void setBillGroup(String billGroup) {
		this.billGroup = billGroup;
	}

	public String getContactCode() {
		return contactCode;
	}

	public void setContactCode(String contactCode) {
		this.contactCode = contactCode;
	}

	public Double getSumOfItemAmount() {
		return sumOfItemAmount;
	}

	public void setSumOfItemAmount(Double sumOfItemAmount) {
		this.sumOfItemAmount = sumOfItemAmount;
	}

	public String getDiscountWord() {
		return discountWord;
	}

	public void setDiscountWord(String discountWord) {
		this.discountWord = discountWord;
	}

	public Double getDiscountAmount() {
		return discountAmount;
	}

	public void setDiscountAmount(Double discountAmount) {
		this.discountAmount = discountAmount;
	}

	public Double getAfterDiscount() {
		return afterDiscount;
	}

	public void setAfterDiscount(Double afterDiscount) {
		this.afterDiscount = afterDiscount;
	}

	public Double getBeforeTaxAmount() {
		return beforeTaxAmount;
	}

	public void setBeforeTaxAmount(Double beforeTaxAmount) {
		this.beforeTaxAmount = beforeTaxAmount;
	}

	public Double getTaxAmount() {
		return taxAmount;
	}

	public void setTaxAmount(Double taxAmount) {
		this.taxAmount = taxAmount;
	}

	public Double getTotalAmount() {
		return totalAmount;
	}

	public void setTotalAmount(Double totalAmount) {
		this.totalAmount = totalAmount;
	}

	public Integer getDiscountCase() {
		return discountCase;
	}

	public void setDiscountCase(Integer discountCase) {
		this.discountCase = discountCase;
	}

	public Double getExceptTaxAmount() {
		return exceptTaxAmount;
	}

	public void setExceptTaxAmount(Double exceptTaxAmount) {
		this.exceptTaxAmount = exceptTaxAmount;
	}

	public Double getZeroTaxAmount() {
		return zeroTaxAmount;
	}

	public void setZeroTaxAmount(Double zeroTaxAmount) {
		this.zeroTaxAmount = zeroTaxAmount;
	}

	public Double getPettyCashAmount() {
		return pettyCashAmount;
	}

	public void setPettyCashAmount(Double pettyCashAmount) {
		this.pettyCashAmount = pettyCashAmount;
	}

	public Double getSumCashAmount() {
		return sumCashAmount;
	}

	public void setSumCashAmount(Double sumCashAmount) {
		this.sumCashAmount = sumCashAmount;
	}

	public Double getSumChqAmount() {
		return sumChqAmount;
	}

	public void setSumChqAmount(Double sumChqAmount) {
		this.sumChqAmount = sumChqAmount;
	}

	public Double getSumBankAmount() {
		return sumBankAmount;
	}

	public void setSumBankAmount(Double sumBankAmount) {
		this.sumBankAmount = sumBankAmount;
	}

	public Integer getDepositIncTax() {
		return depositIncTax;
	}

	public void setDepositIncTax(Integer depositIncTax) {
		this.depositIncTax = depositIncTax;
	}

	public Double getSumOfDeposit1() {
		return sumOfDeposit1;
	}

	public void setSumOfDeposit1(Double sumOfDeposit1) {
		this.sumOfDeposit1 = sumOfDeposit1;
	}

	public Double getSumOfDeposit2() {
		return sumOfDeposit2;
	}

	public void setSumOfDeposit2(Double sumOfDeposit2) {
		this.sumOfDeposit2 = sumOfDeposit2;
	}

	public Double getSumOfWTax() {
		return sumOfWTax;
	}

	public void setSumOfWTax(Double sumOfWTax) {
		this.sumOfWTax = sumOfWTax;
	}

	public Double getNetDebtAmount() {
		return netDebtAmount;
	}

	public void setNetDebtAmount(Double netDebtAmount) {
		this.netDebtAmount = netDebtAmount;
	}

	public Double getHomeAmount() {
		return homeAmount;
	}

	public void setHomeAmount(Double homeAmount) {
		this.homeAmount = homeAmount;
	}

	public Double getOtherIncome() {
		return otherIncome;
	}

	public void setOtherIncome(Double otherIncome) {
		this.otherIncome = otherIncome;
	}

	public Double getOtherExpense() {
		return otherExpense;
	}

	public void setOtherExpense(Double otherExpense) {
		this.otherExpense = otherExpense;
	}

	public Double getExcessAmount1() {
		return excessAmount1;
	}

	public void setExcessAmount1(Double excessAmount1) {
		this.excessAmount1 = excessAmount1;
	}

	public Double getExcessAmount2() {
		return excessAmount2;
	}

	public void setExcessAmount2(Double excessAmount2) {
		this.excessAmount2 = excessAmount2;
	}

	public Double getBillBalance() {
		return billBalance;
	}

	public void setBillBalance(Double billBalance) {
		this.billBalance = billBalance;
	}

	public String getCurrencyCode() {
		return currencyCode;
	}

	public void setCurrencyCode(String currencyCode) {
		this.currencyCode = currencyCode;
	}

	public Double getExchangeRate() {
		return exchangeRate;
	}

	public void setExchangeRate(Double exchangeRate) {
		this.exchangeRate = exchangeRate;
	}

	public String getGlFormat() {
		return glFormat;
	}

	public void setGlFormat(String glFormat) {
		this.glFormat = glFormat;
	}

	public Integer getGlStartPosting() {
		return glStartPosting;
	}

	public void setGlStartPosting(Integer glStartPosting) {
		this.glStartPosting = glStartPosting;
	}

	public Integer getGrBillStatus() {
		return grBillStatus;
	}

	public void setGrBillStatus(Integer grBillStatus) {
		this.grBillStatus = grBillStatus;
	}

	public Integer getGrIRBillStatus() {
		return grIRBillStatus;
	}

	public void setGrIRBillStatus(Integer grIRBillStatus) {
		this.grIRBillStatus = grIRBillStatus;
	}

	public Integer getIsPostGL() {
		return isPostGL;
	}

	public void setIsPostGL(Integer isPostGL) {
		this.isPostGL = isPostGL;
	}

	public Integer getIsCancel() {
		return isCancel;
	}

	public void setIsCancel(Integer isCancel) {
		this.isCancel = isCancel;
	}

	public Integer getIsCreditNote() {
		return isCreditNote;
	}

	public void setIsCreditNote(Integer isCreditNote) {
		this.isCreditNote = isCreditNote;
	}

	public Integer getIsDebitNote() {
		return isDebitNote;
	}

	public void setIsDebitNote(Integer isDebitNote) {
		this.isDebitNote = isDebitNote;
	}

	public Integer getIsProcessOK() {
		return isProcessOK;
	}

	public void setIsProcessOK(Integer isProcessOK) {
		this.isProcessOK = isProcessOK;
	}

	public Integer getIsCompleteSave() {
		return isCompleteSave;
	}

	public void setIsCompleteSave(Integer isCompleteSave) {
		this.isCompleteSave = isCompleteSave;
	}

	public Integer getGlTransData() {
		return glTransData;
	}

	public void setGlTransData(Integer glTransData) {
		this.glTransData = glTransData;
	}

	public String getAllocateCode() {
		return allocateCode;
	}

	public void setAllocateCode(String allocateCode) {
		this.allocateCode = allocateCode;
	}

	public String getProjectCode() {
		return projectCode;
	}

	public void setProjectCode(String projectCode) {
		this.projectCode = projectCode;
	}

	public String getRecurName() {
		return recurName;
	}

	public void setRecurName(String recurName) {
		this.recurName = recurName;
	}

	public Double getExchangeProfit() {
		return exchangeProfit;
	}

	public void setExchangeProfit(Double exchangeProfit) {
		this.exchangeProfit = exchangeProfit;
	}

	public String getCreatorCode() {
		return creatorCode;
	}

	public void setCreatorCode(String creatorCode) {
		this.creatorCode = creatorCode;
	}

	public Date getCreateDateTime() {
		return createDateTime;
	}

	public void setCreateDateTime(Date createDateTime) {
		this.createDateTime = createDateTime;
	}

	public String getLastEditorCode() {
		return lastEditorCode;
	}

	public void setLastEditorCode(String lastEditorCode) {
		this.lastEditorCode = lastEditorCode;
	}

	public Date getLastEditDateT() {
		return lastEditDateT;
	}

	public void setLastEditDateT(Date lastEditDateT) {
		this.lastEditDateT = lastEditDateT;
	}

	public String getConfirmCode() {
		return confirmCode;
	}

	public void setConfirmCode(String confirmCode) {
		this.confirmCode = confirmCode;
	}

	public Date getConfirmDateTime() {
		return confirmDateTime;
	}

	public void setConfirmDateTime(Date confirmDateTime) {
		this.confirmDateTime = confirmDateTime;
	}

	public String getCancelCode() {
		return cancelCode;
	}

	public void setCancelCode(String cancelCode) {
		this.cancelCode = cancelCode;
	}

	public Date getCancelDateTime() {
		return cancelDateTime;
	}

	public void setCancelDateTime(Date cancelDateTime) {
		this.cancelDateTime = cancelDateTime;
	}

	@SuppressWarnings("unchecked")
	public Set getBcAPInvoiceSubs() {
		return bcAPInvoiceSubs;
	}

	@SuppressWarnings("unchecked")
	public void setBcAPInvoiceSubs(Set bcAPInvoiceSubs) {
		this.bcAPInvoiceSubs = bcAPInvoiceSubs;
	} 
			
	
}
